// pages/privacy-agreement/index.js
import Message from 'tdesign-miniprogram/message/index';
import userProfileAPI from '~/api/userProfile';

Page({
  data: {
    updateTime: '',
    showActions: false, // 是否显示底部按钮
    isFirstTime: false, // 是否是首次使用
  },

  onLoad(options) {
    // 设置更新时间
    this.setData({
      updateTime: new Date().toLocaleDateString(),
      showActions: options.showActions === 'true',
      isFirstTime: options.isFirstTime === 'true'
    });

    // 设置页面标题
    wx.setNavigationBarTitle({
      title: '隐私协议'
    });
  },

  /**
   * 返回按钮点击
   */
  onBack() {
    if (this.data.isFirstTime) {
      // 首次使用时，不允许直接返回，需要同意协议
      wx.showToast({
        title: '请先同意协议',
        icon: 'none',
        duration: 2000
      });
      return;
    }
    
    wx.navigateBack();
  },

  /**
   * 我已了解按钮
   */
  onUnderstand() {
    if (this.data.isFirstTime) {
      wx.showToast({
        title: '请同意协议后继续使用',
        icon: 'none',
        duration: 2000
      });
      return;
    }

    Message.info({
      context: this,
      offset: [20, 32],
      duration: 2000,
      content: '您可以随时查看隐私协议'
    });

    setTimeout(() => {
      wx.navigateBack();
    }, 1000);
  },

  /**
   * 同意协议按钮
   */
  async onAgree() {
    try {
      wx.showLoading({
        title: '记录中...',
        mask: true
      });

      const agreementData = {
        userId: wx.getStorageSync('userId'),
        agreementType: 'privacy',
        agreementVersion: '1.0',
        agreedAt: new Date().toISOString(),
        userAgent: wx.getSystemInfoSync().platform,
        appVersion: '1.0.0'
      };

      // 本地存储
      wx.setStorageSync('privacyAgreementTime', agreementData.agreedAt);
      wx.setStorageSync('privacyAgreementVersion', agreementData.agreementVersion);

      // 后端记录
      try {
        const response = await userProfileAPI.recordUserAgreement(agreementData);
        
        if (response.code === 200) {
          console.log('协议同意记录已保存到后端数据库');
        } else {
          console.warn('后端记录协议同意失败:', response.message);
        }
      } catch (apiError) {
        console.warn('调用后端API失败，但本地记录已保存:', apiError);
      }

      wx.hideLoading();
      
      Message.success({
        context: this,
        offset: [20, 32],
        duration: 2000,
        content: '协议已确认，感谢您的信任！'
      });

      // 延迟返回，让用户看到成功提示
      setTimeout(() => {
        if (this.data.isFirstTime) {
          // 首次使用，直接返回首页（不重新加载）
          wx.navigateBack();
        } else {
          // 从设置页面进入，返回设置页
          wx.navigateBack();
        }
      }, 1500);

    } catch (error) {
      wx.hideLoading();
      console.error('记录协议同意失败:', error);
      
      Message.error({
        context: this,
        offset: [20, 32],
        duration: 3000,
        content: '记录失败，请重试'
      });
    }
  },

  /**
   * 页面分享
   */
  onShareAppMessage() {
    return {
      title: '书海拾贝 - 隐私协议',
      path: '/pages/privacy-agreement/index'
    };
  }
});
